home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 June / MacFormat 25.iso / Shareware City / Games / marathon-net-edit-11 / NetEdit / FileFormats / How NetEdit works next >
Encoding:
Text File  |  1995-02-20  |  4.9 KB  |  141 lines  |  [TEXT/R*ch]

  1. =====================================================================
  2. How NetEdit (aka Object Placement Editor) Works
  3. By Eric Bennett (ericb@psu.edu, Marathon@emb121.rh.psu.edu)
  4. With assistance from Tom Klancer  (tklancer@cnj.digex.net)
  5. =====================================================================
  6.  
  7. NetEdit looks for the string "plac" in the map file which indicates the 
  8. beginning of the object placement file.  It then backs up about 70 bytes to get 
  9. the name of the level.  From "plac" it then goes forward 24 bytes (start of objects)
  10. and 792 bytes (start of characters) to find the placement information which it edits.
  11. The placement record for each character/object is 12 bytes, as follows:
  12.  
  13. Bytes      Value          Significance
  14. -------------------------------------
  15. 1-2        000x            x=random placement flag.  If x=1, then objects are placed
  16.                              randomly on the level.  If x=0, objects are placed in
  17.                              predefined spots (I don't know where the predefined spots
  18.                              are stored).  In net levels, x=1; in regual levels, x is
  19.                              usually zero.
  20. 3-4        00xx           xx=initial number of the object on level
  21. 5-6        00xx           xx=frequency of replenishing the object (lower=less often)
  22.                              Objects are replenished so that the total number present
  23.                              is equal to the value in bytes 7-8.
  24. 7-8        00xx           xx=total # of object on level.  Ex: if the flamethrower has a
  25.                              value of 2 here (and if random placement is on, as in a net
  26.                              level) then two players at any one time can have the TOZT.
  27. 9-10       FFFF           unknown; always FFFF.  Maybe if I bothered to change it I'd find
  28.                              out what it did :).
  29. 11-12      xxxx           unknown; xxxx varies by level and object.  This is NOT a location field;
  30.                            swapping values for the flamethrower and SPNKR on Mars Needs Women
  31.                            did _not_ cause these objects to appear in each other's usual locations.
  32.  
  33. REWARD! To anyone who figures out what bytes 9-12 are for.  I will credit you in the next release.
  34.  
  35.  
  36. The objects start at +24 from "plac":
  37.  
  38. Offset      Record
  39. from          contents
  40. "plac"
  41.  
  42. 24            Pistol
  43. 36            Pistol Ammo
  44. 48            Fusion Pistol
  45. 60            Fusion Battery
  46. 72            AR-75
  47. 84            AR-75 bullet clip
  48. 96            AR-75 grenades
  49. 108            SPNKR
  50. 120            Missiles
  51. 132            Invisibility
  52. 144            Invulnerability
  53. 156            Night Vision
  54. 168            Alien Weapon
  55. 180            Alien Ammo Clip
  56. 192            TOZT
  57. 204            Napalm Canister
  58. 216            Wide-angle view
  59. 228         Defense Center Chip
  60. 240            Alien Energy Converter
  61.  
  62. Technically I think the fist is at offset 12, but no graphic appears on the level for it
  63. (although you _will_ occassionally here a "plunk" as you pick up an invisible fist,
  64. which in any case does not appear under your weapons list).  Going beyond 240 also
  65. causes you to pick up invisible objects, whereas using undefined characters (see below)
  66. causes Marathon to crash.
  67.  
  68. Here are the offsets for the various characters:
  69.  
  70. Offset      Record
  71. from          contents
  72. "plac"
  73.  
  74. 792            Assimilated Civilian ("Exploding Bob")
  75. 804            Minor Fighter
  76. 816            Major Fighter
  77. 828            Minor Bolt Fighter
  78. 840            Major Bolt Fighter
  79. 852            Green civilian
  80. 864            Yellow civilian
  81. 876            Blue civilian
  82. 888            Orange Civilian
  83. 900            Unused
  84. 912            Unused
  85. 924            Minor Enforcer
  86. 936            Major Enforcer
  87. 948            Minor Compiler/S'pht
  88. 960            Major Compiler
  89. 972            Minor Invisible Compiler
  90. 984            Major Invisible Compiler
  91. 996            Minor Hulk
  92. 1008        Major Hulk
  93. 1020        Minor Hunter
  94. 1032        Major Hunter
  95. 1044        Minor Juggernaut
  96. 1056        Major Juggernaut
  97. 1068        Minor Looker ("Explodabug")
  98. 1080        Major Looker
  99. 1092        Invisible Looker
  100. 1104        Marathon Defense Drone
  101. 1116        Unused
  102. 1128        Unused
  103. 1130        Minor Trooper
  104. 1152        Major Trooper
  105. 1164        Minor Wasp
  106. 1176        Major Wasp
  107. 1188        Unused
  108. 1200        Unused
  109. 1212        Unused
  110. 1224        Unused
  111. 1236        Alien Leader
  112. 1248        Renegade Defense Drone
  113.  
  114.  
  115. =====================================================================
  116. Changing NetEdit to recognize new objects or aliens
  117. =====================================================================
  118.  
  119. If someone figures out how to add new objects or aliens to Marathon
  120. and you want NetEdit to recognize them, you can do so by modifying
  121. the STR# resources in NetEdit with Resorcerer or ResEdit.
  122.  
  123. STR# 130 -- contains character names.  Just add entries (the first
  124.                 one    you add will have offset 1260, the second will be
  125.                 1272, etc.).  A blank entry should terminate the list.
  126.                 NetEdit has an internal limit of 48 of these records
  127.                 (records beyond this are simply ignored).
  128. STR# 131 -- contains character comments.  Just be sure that there are
  129.                 at least as many strings in this resource as in 130.
  130.                 
  131. STR# 140 -- contains object names.  Just add entries (the first
  132.                 one    you add will have offset 252, the second will be
  133.                 264, etc.).  A blank entry should terminate the list.
  134.                 NetEdit has an internal limit of 28 of these records
  135.                 (records beyond this are simply ignored).
  136. STR# 141 -- contains object comments.  Just be sure that there are
  137.                 at least as many strings in this resource as in 140.
  138.  
  139.  
  140. [end of file]
  141.